The present disclosure relates generally to database systems, and more specifically, to buffering inserts into a column store database.
A database table is conceptually a two-dimensional structure composed of cells arranged in rows and columns. Because computer memory and storage is structured as a series of linear pages, databases commonly use one of two options for storing sequences of cell values in contiguous memory locations. In a row store table, data is clustered in pages according to row. In a column store table, data is clustered in pages according to column. Column store database systems are often used for complex analytic query workloads because such queries typically must process massive amounts of data, yet require reading of only a small subset of the columns of the referenced tables. Column storage enables only those columns that are required by the query to be scanned, thus significantly reducing the time required to answer the query as compared to a row store database.